package queue.a;


import queue.ConnUtil;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 *  生产者,发布消息
 */
public class Product {
    public static void main(String[] args) throws IOException, TimeoutException {
        Connection conn = ConnUtil.getConn();
        //创建信道:处理消息
        Channel channel = conn.createChannel();

        String queueName = "my-que";
        /**
         * queueDeclare(String queue,队列名
         *              boolean durable,持久化,当RabbitMQ关闭后消息依然存在
         *              boolean exclusive,是否排外,证明这个消息一次只能被一个消费者使用
         *              boolean autoDelete,是否自动删除,消息队列中被使用过的消息是否自动删除
         *              Map<String, Object> arguments队列的其他属性信息,如队列的类型,队列的属性信息等
         *              )
         */
        //创建队列
        channel.queueDeclare(queueName,false,false,false,null);

        //定义消息
        String message = "hello rabbitmq";
        //basicPublish(交换器,序列名,参数信息,消息)   发送消息
        channel.basicPublish("",queueName,null,message.getBytes());
        //发送完成,关闭信道,关闭连接
        channel.close();
        conn.close();
    }
}
